package cn.tyoui.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import cn.tyoui.tools.Tools;

public class JDBCTools implements Tools {

	/**
	 * 打开与数据库的链接对象
	 */
	private static Connection connection = null;
	/**
	 * 对数据库操作对象
	 */
	private PreparedStatement statement = null;

	/**
	 * 静态初始化数据库连接
	 */
	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			connection = DriverManager.getConnection("jdbc:mysql://");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 传入sql语句
	 * 
	 * @param sql
	 *            sql语句
	 */
	public void setSql(String sql) {
		try {
			statement = connection.prepareStatement(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 添加数据
	 * 
	 * @param number
	 *            sql语句的参数个数
	 * @param data
	 *            sql语句对应参数的数据
	 */
	public void addData(int number, Object data) {
		try {
			statement.setObject(number, data);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 保存数据
	 * 
	 * @return 成功true
	 */
	public boolean saveData() {
		try {
			return statement.execute();
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
		}
	}

	/**
	 * 获得数据
	 * 
	 * @return 数据集合
	 */
	public ResultSet getData() {
		try {
			return statement.getResultSet();
		} catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
	}

}
